This utility helps with NVIDIA DSR (Dynamic Super Resolution). Changing the monitor resolution before starting a game — then changing it back afterwards — is annoying. AppRes automates that.
AppRes.exe [SWITCHES] WIDTH HEIGHT FREQENCY [WORKDIR] -- CMDLINE
WIDTH [0-n] The target width
HEIGHT [0-n] The target height
FREQENCY [0-n] The target frequency (refresh rate)
CMDLINE The target to launch.
ShellExecute is used (supports "steam://rungameid/number")
Quote/Escaping rules are CommandLineToArgvW
SWITCHES:
-w|--workdir Specify the working directory for the target (CMDLINE)
-m|--module Specify the module (executable name) to watch.
When such a named process exits the resolution is restored.
You only need this when specifiy the target (CMDLINE) with an URL.Note: If launched without arguments, a MessageBox with this usage information will be shown.
For example this is how I play Road to Vostok (Demo):
AppRes.exe -m=Road_to_Vostok_Demo.exe 5160 2160 175 -- steam://rungameid/2141300It's been about 12 years since I last wrote any substantial C. Recently I listened to Casey Muratori and others who prefer C, which inspired me to try C again.
The bump allocator is a copy of MagicalBat’s implementation from a YouTube video.
- GitHub: https://github.com/Magicalbat
Initial build approach and style were inspired by Mārtiņš Možeiko. I couldn't replicate his setup using VSCode. Debugging never worked with debug builds → build.bat debug. So I used Visual Studio instead.
But turns out, Visual Studio (2026) has a good onboarding flow for simple C projects now. So, that' cool.
- GitHub: https://github.com/mmozeiko
You'll need Visual Studio.
- Simply run
build.bat, this will build a release binary. - Or (recommended) use Visual Studio (read MSBuild).
I used Visual Studio 2026 and set the project to ISO C17 (2018) Standard (/std:c17). Although I think, I don't use a single feature from it.
In the same vein, Spectre Mitigation (CVE 2017-5753) are enabled for release mode. Just because really. Perhaps I'll poke around with Binary Ninja (Free version) later.
These two options may require VS2026 instead of 2022. Plus the Spectre Mitigations must be installed manually (Visual Studio Installer).